home *** CD-ROM | disk | FTP | other *** search
- /*
- * File: CDragDropTableTask.h
- * Created: 8/1/93
- * Desc: A mousetask that handles dragging and dropping
- * in CItemTable.
- *
- * Superclass: CTableDragger.
- * Uses: CItemTable, CItem.
- * Original Author: W. Wesley Monroe
- * Modifications:
- *
- * Copyright © 1993 Animas Software Production. All rights reserved.
- */
-
- #include <CTableDragger.h>
-
- class CItem;
- class CItemList;
-
- enum {
- kKeepNone, // works like finder...
- kAlwaysKeepOneRoot, // Always keep one root non-expandable item...
- kRemoveDifferentTargetView // Remove from the original list only if
- // dropped in a different target...
- };
-
- class CDragDropTableTask : public CTableDragger {
-
- protected:
-
- CItemList *fSelectedItems;
- CView *fEnclosingPano;
- CView *fReleasedView, *fOriginalView;
-
- short fCanDragDrop;
- RgnHandle fGrayRgn;
- Cell fDropTargetCell;
- Boolean fGRDrawn;
- Boolean fFirst;
- Boolean fDropFlags;
- Boolean fDropTarget; // is there a drop target?
-
- public:
-
- void IDragDropTableTask(CTable *aTable, CView *dragBoundsView,
- short theModifiers,
- long selFlags);
-
- virtual void BeginTracking(LongPt *startPt);
- virtual void KeepTracking(LongPt *currPt, LongPt *prevPt, LongPt *startPt);
- virtual void EndTracking(LongPt *currPt, LongPt *prevPt, LongPt *startPt);
-
- virtual void Dispose(void);
- };